<!doctype html>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<p>This tests dragging a selected table by mousing down on the
contents of one of its cells. It should be in the red bordered area.</p>
<div id="root">
<div id="source" style="border: 1px solid blue;" contenteditable="true"><table border="1"><tr><td id="cell">foo</td></tr></table></div>
<div id="destination" style="border: 1px solid red;" contenteditable="true"><br></div>
</div>
<div id="log"></div>
<script>
test(function() {
    if (!window.testRunner)
        return;

    var cell = document.getElementById('cell');
    var source = document.getElementById('source');
    source.focus();
    document.execCommand('selectAll');

    var x, y;
    x = cell.offsetParent.offsetLeft + cell.offsetLeft + cell.offsetWidth / 2;
    y = cell.offsetParent.offsetTop + cell.offsetTop + cell.offsetHeight / 2;
    eventSender.mouseMoveTo(x, y);
    eventSender.mouseDown();
    eventSender.leapForward(1000);

    var destination = document.getElementById('destination');
    x = destination.offsetParent.offsetLeft + destination.offsetLeft + destination.offsetWidth / 2;
    y = destination.offsetParent.offsetTop + destination.offsetTop + destination.offsetHeight / 2;

    eventSender.mouseMoveTo(x, y);
    eventSender.mouseUp();

    var selection = window.getSelection();
    // Note: |cell| is copied by drag-and-drop
    cell = document.getElementById('cell');
    assert_equals(selection.anchorNode, destination, 'anchorNode');
    assert_equals(selection.anchorOffset, 0, 'anchorOffset');
    assert_equals(selection.focusNode, cell.firstChild, 'focusNode');
    assert_equals(selection.focusOffset, 3, 'focusOffset');
});
</script>
</body>
</html>
